/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package org.openbravo.model.common.enterprise;

import com.eam.data.EamSpareparts;
import com.eam.data.EamSparepartsCollar;
import com.eam.data.EamSparepartsInventory;
import com.wms.entity.WmsDeliveryDetail;
import com.wms.entity.WmsInventory;
import com.wms.entity.WmsInventoryPlan;
import com.wms.entity.WmsMaterialListLMx;
import com.wms.entity.WmsReturnGoodsMx;
import com.wms.entity.WmsReturnMaterialMx;
import com.wms.entity.WmsStorageInOut;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.plm.Product;
/**
 * Entity class for entity Locator (stored in table M_Locator).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class Locator extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "M_Locator";
    public static final String ENTITY_NAME = "Locator";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_SEARCHKEY = "searchKey";
    public static final String PROPERTY_WAREHOUSE = "warehouse";
    public static final String PROPERTY_RELATIVEPRIORITY = "relativePriority";
    public static final String PROPERTY_DEFAULT = "default";
    public static final String PROPERTY_ROWX = "rowX";
    public static final String PROPERTY_STACKY = "stackY";
    public static final String PROPERTY_LEVELZ = "levelZ";
    public static final String PROPERTY_BARCODE = "barcode";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_EAMSPAREPARTSLIST = "eamSparepartsList";
    public static final String PROPERTY_EAMSPAREPARTSCOLLARLIST = "eamSparepartsCollarList";
    public static final String PROPERTY_EAMSPAREPARTSINVENTORYLIST = "eamSparepartsInventoryList";
    public static final String PROPERTY_PRODUCTLIST = "productList";
    public static final String PROPERTY_WAREHOUSEMRETURNLOCATORIDLIST = "warehouseMReturnlocatorIDList";
    public static final String PROPERTY_WMSDELIVERYDETAILLIST = "wmsDeliveryDetailList";
    public static final String PROPERTY_WMSINVENTORYLIST = "wmsInventoryList";
    public static final String PROPERTY_WMSINVENTORYPLANLIST = "wmsInventoryPlanList";
    public static final String PROPERTY_WMSMATERIALLISTLMXLIST = "wmsMaterialListLMxList";
    public static final String PROPERTY_WMSRETURNGOODSMXLIST = "wmsReturnGoodsMxList";
    public static final String PROPERTY_WMSRETURNMATERIALMXLIST = "wmsReturnMaterialMxList";
    public static final String PROPERTY_WMSSTORAGEINOUTLIST = "wmsStorageInOutList";

    public Locator() {
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_RELATIVEPRIORITY, (long) 50);
        setDefaultValue(PROPERTY_DEFAULT, false);
        setDefaultValue(PROPERTY_EAMSPAREPARTSLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EAMSPAREPARTSCOLLARLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EAMSPAREPARTSINVENTORYLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_PRODUCTLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WAREHOUSEMRETURNLOCATORIDLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSDELIVERYDETAILLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSINVENTORYLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSINVENTORYPLANLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSMATERIALLISTLMXLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSRETURNGOODSMXLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSRETURNMATERIALMXLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSSTORAGEINOUTLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public String getSearchKey() {
        return (String) get(PROPERTY_SEARCHKEY);
    }

    public void setSearchKey(String searchKey) {
        set(PROPERTY_SEARCHKEY, searchKey);
    }

    public Warehouse getWarehouse() {
        return (Warehouse) get(PROPERTY_WAREHOUSE);
    }

    public void setWarehouse(Warehouse warehouse) {
        set(PROPERTY_WAREHOUSE, warehouse);
    }

    public Long getRelativePriority() {
        return (Long) get(PROPERTY_RELATIVEPRIORITY);
    }

    public void setRelativePriority(Long relativePriority) {
        set(PROPERTY_RELATIVEPRIORITY, relativePriority);
    }

    public Boolean isDefault() {
        return (Boolean) get(PROPERTY_DEFAULT);
    }

    public void setDefault(Boolean deflt) {
        set(PROPERTY_DEFAULT, deflt);
    }

    public String getRowX() {
        return (String) get(PROPERTY_ROWX);
    }

    public void setRowX(String rowX) {
        set(PROPERTY_ROWX, rowX);
    }

    public String getStackY() {
        return (String) get(PROPERTY_STACKY);
    }

    public void setStackY(String stackY) {
        set(PROPERTY_STACKY, stackY);
    }

    public String getLevelZ() {
        return (String) get(PROPERTY_LEVELZ);
    }

    public void setLevelZ(String levelZ) {
        set(PROPERTY_LEVELZ, levelZ);
    }

    public String getBarcode() {
        return (String) get(PROPERTY_BARCODE);
    }

    public void setBarcode(String barcode) {
        set(PROPERTY_BARCODE, barcode);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    @SuppressWarnings("unchecked")
    public List<EamSpareparts> getEamSparepartsList() {
      return (List<EamSpareparts>) get(PROPERTY_EAMSPAREPARTSLIST);
    }

    public void setEamSparepartsList(List<EamSpareparts> eamSparepartsList) {
        set(PROPERTY_EAMSPAREPARTSLIST, eamSparepartsList);
    }

    @SuppressWarnings("unchecked")
    public List<EamSparepartsCollar> getEamSparepartsCollarList() {
      return (List<EamSparepartsCollar>) get(PROPERTY_EAMSPAREPARTSCOLLARLIST);
    }

    public void setEamSparepartsCollarList(List<EamSparepartsCollar> eamSparepartsCollarList) {
        set(PROPERTY_EAMSPAREPARTSCOLLARLIST, eamSparepartsCollarList);
    }

    @SuppressWarnings("unchecked")
    public List<EamSparepartsInventory> getEamSparepartsInventoryList() {
      return (List<EamSparepartsInventory>) get(PROPERTY_EAMSPAREPARTSINVENTORYLIST);
    }

    public void setEamSparepartsInventoryList(List<EamSparepartsInventory> eamSparepartsInventoryList) {
        set(PROPERTY_EAMSPAREPARTSINVENTORYLIST, eamSparepartsInventoryList);
    }

    @SuppressWarnings("unchecked")
    public List<Product> getProductList() {
      return (List<Product>) get(PROPERTY_PRODUCTLIST);
    }

    public void setProductList(List<Product> productList) {
        set(PROPERTY_PRODUCTLIST, productList);
    }

    @SuppressWarnings("unchecked")
    public List<Warehouse> getWarehouseMReturnlocatorIDList() {
      return (List<Warehouse>) get(PROPERTY_WAREHOUSEMRETURNLOCATORIDLIST);
    }

    public void setWarehouseMReturnlocatorIDList(List<Warehouse> warehouseMReturnlocatorIDList) {
        set(PROPERTY_WAREHOUSEMRETURNLOCATORIDLIST, warehouseMReturnlocatorIDList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsDeliveryDetail> getWmsDeliveryDetailList() {
      return (List<WmsDeliveryDetail>) get(PROPERTY_WMSDELIVERYDETAILLIST);
    }

    public void setWmsDeliveryDetailList(List<WmsDeliveryDetail> wmsDeliveryDetailList) {
        set(PROPERTY_WMSDELIVERYDETAILLIST, wmsDeliveryDetailList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsInventory> getWmsInventoryList() {
      return (List<WmsInventory>) get(PROPERTY_WMSINVENTORYLIST);
    }

    public void setWmsInventoryList(List<WmsInventory> wmsInventoryList) {
        set(PROPERTY_WMSINVENTORYLIST, wmsInventoryList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsInventoryPlan> getWmsInventoryPlanList() {
      return (List<WmsInventoryPlan>) get(PROPERTY_WMSINVENTORYPLANLIST);
    }

    public void setWmsInventoryPlanList(List<WmsInventoryPlan> wmsInventoryPlanList) {
        set(PROPERTY_WMSINVENTORYPLANLIST, wmsInventoryPlanList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsMaterialListLMx> getWmsMaterialListLMxList() {
      return (List<WmsMaterialListLMx>) get(PROPERTY_WMSMATERIALLISTLMXLIST);
    }

    public void setWmsMaterialListLMxList(List<WmsMaterialListLMx> wmsMaterialListLMxList) {
        set(PROPERTY_WMSMATERIALLISTLMXLIST, wmsMaterialListLMxList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsReturnGoodsMx> getWmsReturnGoodsMxList() {
      return (List<WmsReturnGoodsMx>) get(PROPERTY_WMSRETURNGOODSMXLIST);
    }

    public void setWmsReturnGoodsMxList(List<WmsReturnGoodsMx> wmsReturnGoodsMxList) {
        set(PROPERTY_WMSRETURNGOODSMXLIST, wmsReturnGoodsMxList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsReturnMaterialMx> getWmsReturnMaterialMxList() {
      return (List<WmsReturnMaterialMx>) get(PROPERTY_WMSRETURNMATERIALMXLIST);
    }

    public void setWmsReturnMaterialMxList(List<WmsReturnMaterialMx> wmsReturnMaterialMxList) {
        set(PROPERTY_WMSRETURNMATERIALMXLIST, wmsReturnMaterialMxList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsStorageInOut> getWmsStorageInOutList() {
      return (List<WmsStorageInOut>) get(PROPERTY_WMSSTORAGEINOUTLIST);
    }

    public void setWmsStorageInOutList(List<WmsStorageInOut> wmsStorageInOutList) {
        set(PROPERTY_WMSSTORAGEINOUTLIST, wmsStorageInOutList);
    }

}
